App({
  onLaunch(options) {
    // 第一次打开
    // options.query == {number:1}
    //初始化用户的信息
    this.userBaseInfo();
    this.getSystemInfo();
    my.hideBackHome();
  },
  onShow(options) {
    // 从后台被 scheme 重新打开
    // options.query == {number:1}
  },
  globalData:{
    sid:8,
    token:'',
    IsExist:3,
    UserName:"",
    systemInfo:{},
    // 后端处理地址
    url:"https://zfb.yirenzuji.com",
  },
  // 获取系统信息
  getSystemInfo() {
    my.getSystemInfo({
      success: (res) => {
        this.setGlobalData({systemInfo:res});
      }
    })
  },
  // 获取用户信息
  userBaseInfo(){
    my.getAuthCode({
      scopes: 'auth_user',
      success: (res) => {
        this.setGlobalData({authCode:res.authCode})
        this.init(res.authCode);
      },
    });
  },
  
  // 初始化默认
  init(authCode){
    if(!authCode && this.globalData.authCode){this.userBaseInfo();return;}
  },
  // 分转元
  fenToYuan(prices,num){
    return (parseFloat(prices)/(num?num:100)).toFixed(2);
  },
  // 跳转
  navigateTo(e){
    my.navigateTo(e.currentTarget.dataset);
  },

  // post get put获取数据
  myRequest(args) {
    var {type, url,dataType, params, success, errorData, completeData} = args;
    url = url?url:this.globalData.url;
    url=url.concat("/act.php");

    dataType = dataType?dataType:"json";
    // url=url.concat(act);

    // 数据必须加入商铺id和token
    params.sid=this.globalData.sid;
    params.token=this.globalData.token;


    my.showLoading();
    //设置默认数据传数格式
    var methonType = "application/json";
    var method = type || 'POST'
    //判断请求方式
    if (method === 'PUT') {
      var p = Object.keys(params).map(function(key) {
        return encodeURIComponent(key) + "=" + encodeURIComponent(params[key]);
      }).join("&");
      url += '?' + p;
      params = {}
    }
    if (method == "POST") {
      methonType = "application/x-www-form-urlencoded"
    }
    //验证基础库
    if (my.request) {
      //开始正式请求
      my.request({
        url: url,
        method: method,
        header: {
          'content-type': methonType,
        },
        // dataType: dataType,
        data: params,
        //成功回调
        success: (json) => {
          setTimeout(() => {
            my.hideLoading();
          }, 1000);
          // console.log(json);
          success(json.data);
        },
        //错误回调
        fail(res) {
          my.hideLoading();
          console.log("错误回调:",res);
          my.redirectTo({
            url: '/pages/error/error'
          });
          my.alert({
            title: "错误",
            content: '数据错误,请重试'
          });
          //检测是否传参errorData，如果有则执行回调errorData(res)
          if (errorData) {
            errorData(res)
          }
        },
        //检测是否传参completeData，如果有则执行回调completeData(res)
        complete(res) {
          my.hideLoading();
          my.hideNavigationBarLoading()
          my.stopPullDownRefresh(); //停止下拉刷新
          if (completeData) {
            completeData(res)
          }
        }
      })
    } else {
      // 如果希望用户在最新版本的客户端上体验您的小程序，可以这样提示
      my.alert({
        title: '提示',
        content: '当前支付宝版本过低，无法使用此功能，请升级最新版本支付宝'
      });
    }
  },

  // 设置globalData
  setGlobalData(args){
    Object.keys(args).map(item=>{
      this.globalData[item] = args[item];
    });
  },
  // 返回图片地址
  getImageUrl(src){
    // console.log("src",src)
    if(!/^http/.test(src)){
      return "".concat(this.globalData.url,src);
    }else{
      return src;
    }
  }

});
